package szoftlab4sunak;

import java.awt.Color;
import java.util.ArrayList;

public class Trap implements BattleDevice {
	
    Stone stone; //a belerakott ko tarolasara szolgal
    int slow; //a lassitas erteket tartalmazza
    int id; // a Trap egyedi ID-ja
    ArrayList<String> op; // a kiirashoz szukseges lista
    private Cell Cell; // melyik cell-en van a trap
    public Init init; //init objektum tarolasa
    private int Posx; //a tenyleges pozicio x koordinataja
    private int Posy; //a tenyleges pozicio y koordinataja
    public Color col; //szin tarolasa
    
    // visszaadja melyik cellan van
    public Cell getCell() {
		return Cell;
	}

    // beallitja , melyik cellan legyen
	public void setCell(Cell cell) {
		Cell = cell;
	}

	// az osztaly parameter nelkuli konstruktora
	public Trap() {
		
	}
	
	// beallitja a tenyleges X poziciot (cell bal felso sarka)
	public int getPosx(){
		return Posx;
	}
	
	// beallitja a tenyleges X poziciot (cell bal felso sarka)
	public int getPosy(){
		return Posy;
	}
	
	// az osztaly parameteres konstuktora
	public Trap(int id, ArrayList<String> op, Init init, Cell cell) {
		// beallitja a mukodeshez szukseges parametereket
		this.op=op;
		this.id = id;
		this.init=init;
		this.Cell=cell;
		this.stone = null;
		Posx=cell.getPosX();
		Posy=cell.getPosY();
	}
	
    //a parameterben kapott Stone-t eltarolja a megfelelo attributumaban
    public void putStone(Stone stone, char type, int stoneid){
    	this.stone = stone;
    	// ha lassito kovet szeretnenk a csapdara rakni
    	if(type == 'w') {
    		// megnoveli a csapda altal okozott lassitast
    		slow ++;
    	}
    }
	
    //Ez a fuggveny adja meg, hogy a Trap-en hoztunk-e mar letre korabban Stone-t
    public boolean haveStone() {
    	if (this.stone == null){
    		return false;
    	}
    	else{
    		return true;
    	}
    }

	// az egyseges interface miatt kerult be az osztalyba, nincs impelemtalva
	public void setParams(String bulettype, boolean fog) {
	}

	// az egyseges interface miatt kerult be az osztalyba, nincs impelemtalva
	public void Tick() {
	}
	
	// az egyseges interface miatt kerult be az osztalyba, nincs impelemtalva
	@Override
	public void FogOn() {
		
	}
}
